Since, in a field of home electrical appliances, read-only file systems have often been used, it is impossible to perform writing in units of files using functions of a file system. Therefore, when firmware is updated, it is required to rewrite the image of the firmware. In general, a firmware image is large in size. Accordingly, when the firmware is updated, a method is used of extracting and distributing only a difference instead of the entire image.
Methods of extracting a difference include an entire image comparison method that entirely compares new and old firmware images with each other in units of bytes and extracts the difference (e.g., see Non Patent Literature 1). When an information apparatus creates the new image from the difference, the entire image comparison method requires the entire old image. Accordingly, it is necessary to back up the entire old image for the sake of recovery after an interruption of update. This is because the old data having been rewritten does not remain on a RAM, which necessitate taking backup of the entirety thereof in order to recover the old image.
On the other hand, there is a method of holding a firmware image and its entire backup (e.g., see Patent Literature 1).
Further, methods extracting a difference of firmware images in a form capable of recovery after an interruption of update include a divided block comparison method that compares blocks (corresponding to blocks of a nonvolatile memory for storing firmware) configuring new and old images with each other in units of blocks and adds data in the block without any match to difference data to be distributed. In a case of applying the difference according to this method, the block to be rewritten is backed up.